package cn.zyq.ykb.service.task;

import cn.zyq.ykb.beans.task.Task;
import cn.zyq.ykb.beans.task.TaskPackage;
import cn.zyq.ykb.beans.task.bo.TaskPackageBo;
import cn.zyq.ykb.system.common.PageParam;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * 任务包Service接口
 *
 * @author SystemAuth
 * @date 2023-06-01
 */
public interface TaskPackageService {
    /**
     * 查询任务包
     *
     * @param taskPackageID 任务包主键
     * @return 任务包
     */
    TaskPackage selectTaskPackageByTaskPackageID(Integer taskPackageID);

    /**
     * 查询任务包
     *
     * @param serviceID 任务包业务ID
     * @return 任务包
     */
    TaskPackage selectTaskPackageByServiceID(String serviceID);

    /**
     * 查询任务包列表
     *
     * @param pageParam
     * @return 任务包集合
     */
    PageInfo<TaskPackage> selectTaskPackageList(PageParam pageParam);

    /**
     * 查询任务包列表
     *
     * @param param
     * @return 任务包集合
     */
    List<TaskPackage> selectTaskPackageList(TaskPackage param);

    /**
     * 新增任务包
     *
     * @param param 任务包
     * @return 结果
     */
    int insertTaskPackage(TaskPackage param);

    /**
     * 修改任务包
     *
     * @param param 任务包
     * @return 结果
     */
    int updateTaskPackage(TaskPackage param);

    /**
     * 批量删除任务包
     *
     * @param taskPackageIDs 需要删除的任务包主键集合
     * @return 结果
     */
    int deleteTaskPackageByTaskPackageIDs(Integer[] taskPackageIDs);

    /**
     * 删除任务包信息
     *
     * @param taskPackageID 任务包主键
     * @return 结果
     */
    int deleteTaskPackageByTaskPackageID(Integer taskPackageID);

    /**
     * 上下架
     * @param taskPackageID
     * @return
     */
    int upAndDown(Integer taskPackageID);


    /**
     * 获取任务包
     * @return
     */
    List<TaskPackage> getList();
}
